home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 2
/
Gekikoh Dennoh Club Vol. 2 (Japan).7z
/
Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin
/
tools
/
ldbmp08
/
ldbmp08s.lzh
/
PAGESYNC.S
< prev
next >
Wrap
Text File
|
1996-01-26
|
1KB
|
72 lines
.include doscall.mac
.include iocscall.mac
.include myconst.h
.xdef _Wait
.xdef _PageSync
_PageSync:
movem.l d0-d7/a1-a2,-(sp)
movea.l #$e82600,a1 *videoc
movea.l #$e88001,a2 *mfp
move.w (a1),d0
andi.w #$fff0,d0
move.w d0,d1
ori.w #3,d1 *page 0
move.w d0,d2
ori.w #$c,d2 *page 1
move.w d0,d6
ori.w #$f,d6 *page 0&1
move.b #4,d3 *v_disp bit
move.b #7,d4 *h_sync bit
move.w sr,d5
ori.w #$0700,sr *割り込み禁止
move.w _Wait,d7
v_wait:
btst.b d3,(a2)
beq v_wait *垂直表示期間を待つ
h_wait00:
btst.b d4,(a2)
beq h_wait00 *水平帰線期間を待つ
h_wait0:
btst.b d4,(a2)
bne h_wait0 *水平表示期間を待つ
loopy:
move.w d7,d0
wait:
dbra d0,wait *切り替えのタイミングを待つ
move.w d6,(a1)
move.w d2,(a1) *page1に切り替える
h_wait:
btst.b d4,(a2)
beq h_wait *水辺帰線期間を待つ
move.w d1,(a1) *page0に切り替える
btst.b d3,(a2)
beq quit *表示期間が終わっていれば終了
h_wait2:
btst.b d4,(a2)
bne h_wait2 *水平表示期間を待つ
bra loopy
quit:
move.w d5,sr
movem.l (sp)+,d0-d7/a1-a2
rts
.data
.even
_Wait:
.dc.w 7
.end